home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks97 / NewsTicker.sit / NewsTicker / source code / Internet Code / HTTPEndPoint.cp < prev    next >
Text File  |  1997-06-19  |  1KB  |  78 lines

  1. /*------------------------------------------------------------------------------
  2. #
  3. #    NewsTicker, my Hack for 1997
  4. #
  5. #    HTTPEndPoint.cp    -    Slightly derived class for reading http/HTML files
  6. #
  7. ------------------------------------------------------------------------------*/
  8.  
  9. #include "HTTPEndPoint.h"
  10. #include "Idler.h"
  11. #include "HTMLExtractor.h"
  12.  
  13. //
  14. // Our constructor
  15. //
  16. HTTPEndPoint::HTTPEndPoint( HTMLExtractor* theHandler )
  17.         :OTPollEndPoint()
  18. {
  19.     mfMyHandler = theHandler;
  20. }
  21. //
  22. // Say we want to get the page
  23. //
  24. OSErr HTTPEndPoint::StartGettingFile(char* address, unsigned short portnum, Idler* theIdler)
  25. {
  26.     Str255    TalkStr = "\pGET / HTTP/1.0\r\n\r\n";
  27.     OSErr    io;
  28.     
  29.     io = Open(*theIdler, address, portnum);
  30.     
  31.     if (io==noErr)
  32.     {
  33.         SendData( *theIdler, &TalkStr[1], TalkStr[0]);
  34.     }
  35.     else
  36.     {
  37.         HandleShutdown();
  38.     }
  39.     return io;
  40. }
  41.  
  42. OSErr HTTPEndPoint::StartGettingHeader(char* address, unsigned short portnum, Idler* theIdler)
  43. {
  44.     Str255    TalkStr = "\pHEAD / HTTP/1.0\r\n\r\n";
  45.     OSErr    io;
  46.     
  47.     io = Open(*theIdler, address, portnum);
  48.     
  49.     if (io==noErr)
  50.     {
  51.         SendData( *theIdler, &TalkStr[1], TalkStr[0]);
  52.     }
  53.     else
  54.     {
  55.         HandleShutdown();
  56.     }
  57.     return io;
  58. }
  59.  
  60. //
  61. // Send what we've just received to the outer worlds
  62. //
  63. void HTTPEndPoint::HandleData (char* thestring, short numchars)
  64. {
  65.     if (mfMyHandler)
  66.         mfMyHandler->ReceiveString(thestring, numchars);
  67. }
  68.  
  69. //
  70. // Close The File
  71. //
  72. void HTTPEndPoint::HandleShutdown(void)
  73. {
  74.     if (mfMyHandler)
  75.         mfMyHandler->Disconnect();
  76. }
  77.  
  78.